# 枚举  & 列表的复制
# 对列表的一般方法的pop删除所有重复值的拓展---枚举
# 本质： list 本身有 index（索引值） & value（值）
stu_score = [97,93,95,96,92,95,100,95]
for index,value in enumerate(stu_score):  # 用for循环分别把对象和它对应的索引值都列出来
    print(index,value)  # 采用枚举的方式 结果就可以知道列表的每个对象的索引值

print()
# 找出所有对象为95的索引值
pop_index_list = []
for index,value in enumerate(stu_score):
    if value == 95:
        print(index,value)
print()
# 现在要删掉所有对象为95
# pop_index_list = []
# for index,value in enumerate(stu_score):
#     if value == 95:
#         stu_score.pop(index)
# print(stu_score)

print()
# 如果让列表中对象为95的值加1形成一个新列表
for index,value in enumerate(stu_score):
    if value == 95:
        stu_score[index] +=1   # 利用列表索引找对象  先用列表的单索引办法找到value=95的index（索引） 这时找出来的对象是值（列表中的value），再使其自加1
print(stu_score)  # [97, 93, 96, 96, 92, 96, 100, 96]

#列表的真假复制
# 1.假复制 用 = 进行赋值
names = ["Mike","Mary","ZZ","Jack","ZZ","kiki"]
names_1 = names
names_1.append("CC")  # 修改新文件
print("源文件=",names)
print("新文件",names_1)
# 两个列表看似复制了其实并没有真正复制，修改新文件后 源文件也跟着变动 所以这不能算复制
print()
# 2.列表的正确复制方法一： copy()
names = ["Mike","Mary","ZZ","Jack","ZZ","kiki"]
names_2 = names.copy()
names_2.remove("kiki")  # 修改新文件
print("源文件=",names)
print("新文件=",names_2)
# 列表的正确复制方法二： 切片[:]  关于列表的切片-->《课本学习2》.py
names = ["Mike","Mary","ZZ","Jack","ZZ","kiki"]
names_3 = names[:]
names_3.pop() # 修改新文件
print("源文件=",names)
print("新文件=",names_3)
